Skip to content

Onboard Az.AppNetwork PowerShell module for Microsoft.AppLink - #29975

Draft
German Robayo (german1608) wants to merge 6 commits into
Azure:mainfrom
german1608:gerobayopaz/onboard-appnetwork-powershell
Draft

Onboard Az.AppNetwork PowerShell module for Microsoft.AppLink#29975
German Robayo (german1608) wants to merge 6 commits into
Azure:mainfrom
german1608:gerobayopaz/onboard-appnetwork-powershell

Conversation

@german1608

@german1608 German Robayo (german1608) commented Aug 7, 2026

Copy link
Copy Markdown

Description

Onboards a new Az.AppNetwork PowerShell module for the Microsoft.AppLink resource provider (API version 2025-08-01-preview), generated from the AppLink TypeSpec source (specification/applink/AppLink.Management @ 4e3a778) using the @azure-tools/typespec-powershell emitter via AzDev New-DevTSPModule.

The module is named AppNetwork to stay consistent with the existing C#/Python/Java/TS/Go SDKs, which all emit under AppNetwork (Azure.ResourceManager.AppNetwork, sdk/appnetwork), even though the RP namespace is Microsoft.AppLink.

Cmdlets added:

  • AppLink: Get/New/Set/Update/Remove-AzAppNetworkAppLink
  • AppLinkMember: Get/New/Set/Update/Remove-AzAppNetworkAppLinkMember
  • Get-AzAppNetworkAvailableVersion, Get-AzAppNetworkUpgradeHistory

Notes:

  • AzPSConfig defaults SubscriptionId from the current context, prunes non-Expanded/JSON Create/Update variants, and hides the raw Operation cmdlet.
  • AppLink lifecycle e2e Pester tests added (create/get/list/update/delete) with resource-group provisioning in test/utils.ps1. .Recording.json files still need a live -Record pass before playback can run in CI.

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Generate the Az.AppNetwork module from the AppLink TypeSpec source
(specification/applink/AppLink.Management, API 2025-08-01-preview) using
the @azure-tools/typespec-powershell emitter via AzDev New-DevTSPModule.

- Add AppLink and AppLinkMember CRUD cmdlets, plus AvailableVersion and
  UpgradeHistory list cmdlets.
- Add AzPSConfig (tspconfig.yaml) with SubscriptionId default and variant
  pruning; hide the raw Operation cmdlet.
- Add AppLink lifecycle e2e Pester tests (create/get/list/update/delete)
  with resource-group provisioning in test/utils.ps1.
- Register the module in tools/CreateMappings_rules.json.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 7, 2026 22:37
@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thank you for your contribution German Robayo (@german1608)! We will review the pull request and get back to you soon.

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR onboards a new Az.AppNetwork PowerShell module for the Microsoft.AppLink resource provider (API 2025-08-01-preview), including the module packaging scaffolding, generated AutoRest/TypeSpec artifacts, initial help content, and initial Pester tests.

Changes:

  • Added the AppNetwork module project/manifest/changelog and wired it into tooling mappings.
  • Added generated AppNetwork.Autorest configuration + UX metadata + docs/help stubs.
  • Added initial Pester test scaffolding and partial AppLink lifecycle coverage.

Reviewed changes

Copilot reviewed 73 out of 73 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
tools/CreateMappings_rules.json Adds AppNetwork module mapping for tooling.
src/AppNetwork/AppNetwork/Properties/AssemblyInfo.cs New module assembly metadata/versioning.
src/AppNetwork/AppNetwork/help/Update-AzAppNetworkAppLinkMember.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Update-AzAppNetworkAppLink.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Set-AzAppNetworkAppLinkMember.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Set-AzAppNetworkAppLink.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Remove-AzAppNetworkAppLinkMember.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Remove-AzAppNetworkAppLink.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/New-AzAppNetworkAppLinkMember.md Adds cmdlet reference help (examples currently placeholder).
src/AppNetwork/AppNetwork/help/New-AzAppNetworkAppLink.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Get-AzAppNetworkUpgradeHistory.md Adds cmdlet reference help (examples currently placeholder).
src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAvailableVersion.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLinkMember.md Adds cmdlet reference help (examples currently placeholder).
src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLink.md Adds cmdlet reference help (needs example cleanup).
src/AppNetwork/AppNetwork/ChangeLog.md Adds initial changelog entry for module onboarding.
src/AppNetwork/AppNetwork/Az.AppNetwork.psd1 Adds module manifest (exports + required dependencies).
src/AppNetwork/AppNetwork/AppNetwork.csproj Adds build output + packaging assets for the module.
src/AppNetwork/AppNetwork.sln Adds solution entries for AppNetwork + Autorest projects.
src/AppNetwork/AppNetwork.Autorest/UX/Microsoft.AppLink/appLinks.json Adds UX metadata for AppLink cmdlets.
src/AppNetwork/AppNetwork.Autorest/UX/Microsoft.AppLink/appLinks-appLinkMembers.json Adds UX metadata for AppLinkMember cmdlets.
src/AppNetwork/AppNetwork.Autorest/utils/Unprotect-SecureString.ps1 Adds standard utility script.
src/AppNetwork/AppNetwork.Autorest/utils/Get-SubscriptionIdTestSafe.ps1 Adds standard test-safe subscription ID helper.
src/AppNetwork/AppNetwork.Autorest/tspconfig.yaml Adds TypeSpec emitter configuration and directives.
src/AppNetwork/AppNetwork.Autorest/tsp-location.yaml Pins TypeSpec input repo and commit for reproducibility.
src/AppNetwork/AppNetwork.Autorest/test/utils.ps1 Adds test env setup/cleanup utilities (needs AppLink provisioning fix).
src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLinkMember.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLink.Tests.ps1 Adds Update cmdlet test (partial coverage).
src/AppNetwork/AppNetwork.Autorest/test/Set-AzAppNetworkAppLinkMember.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Set-AzAppNetworkAppLink.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Remove-AzAppNetworkAppLinkMember.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Remove-AzAppNetworkAppLink.Tests.ps1 Adds Remove cmdlet test (partial coverage).
src/AppNetwork/AppNetwork.Autorest/test/README.md Adds test folder documentation.
src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLinkMember.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLink.Tests.ps1 Adds New cmdlet test (partial coverage).
src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1 Adds env loader (contains a path read bug).
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1 Adds test stub (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAppLinkMember.Tests.ps1 Adds test stubs (currently skipped).
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAppLink.Tests.ps1 Adds Get cmdlet tests (depends on env provisioning).
src/AppNetwork/AppNetwork.Autorest/resources/README.md Adds non-packaged resource folder documentation.
src/AppNetwork/AppNetwork.Autorest/README.md Adds module README (dependency version needs alignment).
src/AppNetwork/AppNetwork.Autorest/Properties/AssemblyInfo.cs Adds assembly attributes (license header needs cleanup).
src/AppNetwork/AppNetwork.Autorest/how-to.md Adds module dev how-to documentation.
src/AppNetwork/AppNetwork.Autorest/examples/Update-AzAppNetworkAppLinkMember.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Update-AzAppNetworkAppLink.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Set-AzAppNetworkAppLinkMember.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Set-AzAppNetworkAppLink.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Remove-AzAppNetworkAppLinkMember.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Remove-AzAppNetworkAppLink.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/New-AzAppNetworkAppLinkMember.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/New-AzAppNetworkAppLink.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkUpgradeHistory.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkAvailableVersion.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkAppLinkMember.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkAppLink.md Adds example stubs for doc generation.
src/AppNetwork/AppNetwork.Autorest/docs/Update-AzAppNetworkAppLinkMember.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Update-AzAppNetworkAppLink.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Set-AzAppNetworkAppLinkMember.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Set-AzAppNetworkAppLink.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Remove-AzAppNetworkAppLinkMember.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Remove-AzAppNetworkAppLink.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/README.md Generated docs folder readme.
src/AppNetwork/AppNetwork.Autorest/docs/New-AzAppNetworkAppLinkMember.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/New-AzAppNetworkAppLink.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkUpgradeHistory.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkAvailableVersion.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkAppLinkMember.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkAppLink.md Generated docs output for cmdlet help.
src/AppNetwork/AppNetwork.Autorest/docs/Az.AppNetwork.md Generated module landing doc listing cmdlets.
src/AppNetwork/AppNetwork.Autorest/custom/README.md Adds custom folder guidance.
src/AppNetwork/AppNetwork.Autorest/custom/Az.AppNetwork.custom.psm1 Adds custom module loader stub.
src/AppNetwork/AppNetwork.Autorest/.gitignore Adds module-local ignore rules.
src/AppNetwork/AppNetwork.Autorest/.gitattributes Adds default text normalization rules.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

}
$env = @{}
if (Test-Path -Path $envFilePath) {
$env = Get-Content (Join-Path $PSScriptRoot $envFile) | ConvertFrom-Json
Comment on lines +1 to +15
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the ""License"");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ""AS IS"" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
// is regenerated.
This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension.

## Module Requirements
- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater
- Additional information about change #1
-->
## Upcoming Release
* Initial onboarding of the `Az.AppNetwork` module for the `Microsoft.AppLink` resource provider (API version `2025-08-01-preview`), generated from TypeSpec.
Comment on lines +34 to +37
# ViaIdentity is not required for New-* cmdlets
- where:
variant: ^CreateViaIdentity$|^CreateViaIdentityExpanded$
remove: true
Comment on lines +39 to +60
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

### Example 2: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

Comment on lines +32 to +53
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

### Example 2: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

Comment on lines +42 to +63
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

### Example 2: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

Comment on lines +42 to +63
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

### Example 2: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

Comment on lines +25 to +46
### Example 1: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

### Example 2: {{ Add title here }}
```powershell
{{ Add code here }}
```

```output
{{ Add output here (remove the output block if the example doesn't have an output) }}
```

{{ Add description here }}

…tests

Fixes discovered via live testing against Azure:
- New-AzAppNetworkAppLink requires -EnableSystemAssignedIdentity; the service
  rejects create without a SystemAssigned identity. Assert IdentityType.
- Tag is a TrackedResourceTags object; access via indexer ($t['env']) not
  dot-notation. Fix the Update tag assertion.
- Add AppLinkMember create/get/delete lifecycle tests using -ClusterType AKS,
  -MetadataResourceId (AKS ARM id), and FullyManaged upgrade profile.
- Wire memberName and aksClusterId (AKS_CLUSTER_ID env) into test/utils.ps1;
  document the required AKS prerequisites (--enable-oidc-issuer --enable-aad
  --enable-gateway-api) and AppLink subnet delegation.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 7, 2026 23:27
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.

Suppressed comments (6)

src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:20

  • Get-AzAppNetworkAvailableVersion coverage is currently disabled (-skip) with a NotImplementedException stub, so the cmdlet isn't validated in playback/live runs.
    src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1:20
  • Get-AzAppNetworkUpgradeHistory coverage is currently disabled (-skip) with a NotImplementedException stub, so the cmdlet isn't validated in playback/live runs.
    src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLink.md:46
  • The EXAMPLES section still contains template placeholders (for example "{{ Add code here }}"). Since these help files are copied into the module output (AppNetwork.csproj copies help*.md), users will see the placeholders in shipped help content.
    src/AppNetwork/AppNetwork.Autorest/Properties/AssemblyInfo.cs:15
  • The file header contains conflicting license statements (MIT + Apache) and duplicated copyright text. This is inconsistent with other *.Autorest AssemblyInfo.cs headers in the repo (which use Apache-only), and can create licensing ambiguity.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the ""License"");

src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLinkMember.Tests.ps1:18

  • This test always attempts to create an AppLinkMember using $env.aksClusterId, but setupEnv only populates that from the AKS_CLUSTER_ID environment variable. When AKS_CLUSTER_ID isn't set (common in local runs / initial recording), this will fail rather than being skipped with a clear reason.
    src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLinkMember.Tests.ps1:20
  • All Update-AzAppNetworkAppLinkMember parameter-set tests are currently marked -skip and only assert a NotImplementedException stub. This leaves the Update cmdlet unvalidated in live/record/playback test runs.

…nsion

Replace the generated example placeholders for all Az.AppNetwork cmdlets
with real examples adapted from the appnet-preview CLI extension
(Azure/azure-cli-extensions src/appnet-preview), translating each
az appnet / az appnet member command to its PowerShell equivalent:

- AppLink: create/show/list/update/delete
- AppLinkMember: join (New), show/list, update, remove
- AvailableVersion and UpgradeHistory list examples

Regenerated docs/*.md so the EXAMPLES sections pick up the new content.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 10, 2026 20:42
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 73 out of 73 changed files in this pull request and generated 1 comment.

Suppressed comments (3)

src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLink.md:45

  • The examples section still contains template placeholders ("{{ Add title here }}", "{{ Add code here }}"), which will ship as user-facing help. Regenerate/update these help markdown files so they include real examples (similar to other Az modules’ help files).
    src/AppNetwork/AppNetwork.Autorest/utils/Unprotect-SecureString.ps1:14
  • This utility converts SecureString to plaintext, which increases the risk of accidental secret exposure (logs, transcripts, crash dumps) if it’s used. If it’s not strictly required, remove it from the module; otherwise, restrict it to test-only tooling and clearly document safe usage.
    src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLinkMember.Tests.ps1:22
  • This test depends on $env.aksClusterId (from AKS_CLUSTER_ID) but doesn’t guard against it being empty during record/live runs, which will cause a hard failure. Consider skipping the test with a clear reason when the cluster id isn’t provided.

$loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1'
}
. ($loadEnvPath)
$TestRecordingFile = Join-Path $PSScriptRoot 'New-AzAppNetworkAppLink.Recording.json'
The earlier examples commit updated the AutoRest docs/*.md but the
committed platyPS help/*.md files still contained the placeholder
examples. Regenerate help/*.md via generate-help.ps1 so both doc sets
are consistent and carry the appnet-preview-derived examples.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 10, 2026 23:03
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.

Suppressed comments (3)

src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLink.Tests.ps1:9

  • The Pester test harness is configured to run in playback mode using New-AzAppNetworkAppLink.Recording.json, but there are currently no .Recording.json files checked in for this module. In CI playback runs, this typically causes tests to fail when the recording file is missing. Please run a live -Record pass for the module tests and commit the generated *.Recording.json files (or skip/disable these tests until the recordings are available).
    src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:20
  • This cmdlet currently has no active test coverage because the only test is a skipped NotImplemented stub. Since the cmdlet is part of the newly onboarded surface, add at least a basic playback-friendly assertion (e.g., call the cmdlet for $env.location and ensure results are returned).
    src/AppNetwork/AppNetwork.Autorest/test/utils.ps1:58
  • $env.aksClusterId is populated from AKS_CLUSTER_ID but never validated. In record/live mode, if AKS_CLUSTER_ID is not set, the AppLinkMember tests will call New-AzAppNetworkAppLinkMember with a null -MetadataResourceId and fail in a non-obvious way. Add an explicit check (record/live only) with a clear error so recording runs fail fast and are easier to diagnose.

Regenerate cmdlet help synopses and portal UX metadata to pick up the
improved "Azure Kubernetes Application Network" descriptions from the
AppLink TypeSpec. Set-* parameter-set names reflect the createOrReplace
operation (Replace* variants).

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 12, 2026 19:51
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Regenerate the AutoRest reference docs so their synopses match the
updated help/ markdown and the AppLink TypeSpec wording. Fixes stale
"Get an AppLink." style descriptions that were left behind.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.

Suppressed comments (6)

src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1:28

  • $envFilePath is computed (and can point to the parent directory), but the file is always read from (Join-Path $PSScriptRoot $envFile). If env.json only exists at $envFilePath, this will fail to load test settings and defaults.

Read from $envFilePath instead of recomputing the path.
src/AppNetwork/AppNetwork.Autorest/Properties/AssemblyInfo.cs:5

  • This AssemblyInfo header includes a MIT license reference and duplicates the copyright line, while other AutoRest modules in this repo use the Apache 2.0 header only. Keeping an incorrect/contradictory license header can create compliance confusion.

Please align this file’s header with the standard Apache 2.0 header used elsewhere (for example src/Dns/Dns.Autorest/Properties/AssemblyInfo.cs).

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the ""License"");

src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:20

  • This test is currently -skip, so Get-AzAppNetworkAvailableVersion has no runnable coverage. Even a minimal playback-backed test (asserting non-empty output or expected property shapes) would help catch regressions in parameter binding and response deserialization.
    src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1:20
  • This test is currently -skip, so Get-AzAppNetworkUpgradeHistory has no runnable coverage. Adding a basic playback test would validate parameter binding and response shape for this cmdlet.
    src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1:24
  • In the fallback branch, $envFilePath is built using a single string '..\$envFile'. This produces a literal backslash path segment (and embeds $envFile inside a quoted string), which breaks path normalization on non-Windows platforms and is inconsistent with the Join-Path usage elsewhere in the file.

Use Join-Path with separate path segments so $envFilePath resolves correctly cross-platform.
src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLinkMember.Tests.ps1:20

  • All test cases for this cmdlet are currently marked -skip, so the PR adds no executable coverage for Update-AzAppNetworkAppLinkMember (including the primary UpdateExpanded parameter set). This is especially important because the PR description calls out lifecycle e2e tests including update.

Consider adding at least one non-skipped scenario (for example updating tags or upgrade profile settings on an existing member) and recording it into Update-AzAppNetworkAppLinkMember.Recording.json for playback.

Copilot AI review requested due to automatic review settings August 12, 2026 20:02
@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.

Suppressed comments (5)

src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1:28

  • $envFilePath is computed but not used when reading the env JSON (line 27 reads from $PSScriptRoot/$envFile regardless). This breaks the fallback to the parent directory and can cause tests to silently load the wrong (or no) env values.
    src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:21
  • The only test case for Get-AzAppNetworkAvailableVersion is currently skipped, so this cmdlet has no effective test coverage (even after recordings are added).
    src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1:21
  • The only test case for Get-AzAppNetworkUpgradeHistory is currently skipped, so this cmdlet has no effective test coverage (even after recordings are added).
    src/AppNetwork/AppNetwork.Autorest/how-to.md:40
  • generate-help.ps1 is documented twice in the "Module Script Details" list, which can confuse maintainers about which description is authoritative.
    src/AppNetwork/AppNetwork.Autorest/how-to.md:30
  • Typo in parameter description: "Supresses" should be "Suppresses".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants